package com.example.archive.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 培训资料实体类
 * 用于管理企业内部的培训材料，包括文档、视频等各种培训资源
 */
@Data
@TableName("trainings")
public class Training {
    /**
     * 培训资料ID，主键，自增
     */
    @TableId(type = IdType.AUTO)
    private Integer trainingId;
    
    /**
     * 培训资料标题
     */
    private String title;
    
    /**
     * 培训资料描述，详细说明培训内容
     */
    private String description;
    
    /**
     * 文件存储路径，相对路径格式：uploads/filename
     */
    private String filePath;
    
    /**
     * 上传者用户ID，关联users表
     */
    private Integer uploaderId;
    
    /**
     * 上传时间，系统自动记录
     */
    private LocalDateTime uploadTime;
    
    /**
     * 培训资料状态
     * published: 已发布（可供下载）
     * draft: 草稿（等待审核）
     * archived: 已归档
     * rejected: 已驳回
     */
    private String status;
    
    /**
     * 上传者姓名，关联查询字段，不存储在数据库中
     * 通过JOIN查询users表获取
     */
    @TableField(exist = false)
    private String uploaderName;
} 